package com.tpl.core.basedata.dao;

import java.util.List;

import com.tpl.core.common.annotation.DaoAnnotation;
import com.tpl.core.entity.sys.Files;
import org.apache.ibatis.annotations.Param;



@DaoAnnotation
public interface FileDao {
	
	List<Files> getSelfDirList(@Param("userNo")String userNo, @Param("fileType")String fileType, @Param("deptId")Long deptId);

	/**
	 * 查看当前用户是否上传过文件
	 * @param userNo
	 * @return
	 */
	int getFileCount(@Param("userNo")String userNo);
	
	
	List<Files> getSelfFileList(@Param("pid")Long pid, @Param("deptId")Long deptId);
	
	
	/**
	 * 批量查询出
	 */
	List<Files> getFileByIds(@Param("ids")String ids);
	
	
	/**
	 * 新增文件或文件夹
	 * @param file
	 */
	void insertFile(Files file);

	/**
	 * 通过md5获取信息
	 * @param md5
	 * @return
	 */
	Files getFilesByMd5(String md5);

	/**
	 * 复制时取出存在重名的
	 * @param pid
	 * @param ids
	 * @return
	 */
	List<Files> getRepeat(@Param("pid")Long pid, @Param("ids")String ids);

	/**
	 * 获取回收站
	 * @param pubFlag
	 * @param deptId TODO
	 *
	 * @return
	 */
	List<Files> getRecycleBinFileById(@Param("userNo")String userNo, @Param("pubFlag")Boolean pubFlag, @Param("deptId")Long deptId);
	
	/**
	 * 获取文件保存的路径
	 */
	String getFilePath(@Param("id")Long id);

	
	Files getFilesById(@Param("id")Long id);
}
